home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / weyl / weyl!!.lha / simple2.C < prev    next >
C/C++ Source or Header  |  1991-08-21  |  2KB  |  70 lines

  1. #include <stdlib.h>
  2. #include <stream.h>
  3.  
  4. class DomainElt {
  5. private:
  6.   int RepType ;
  7.   const void *domain;
  8.   const void *Value;
  9.  public:
  10.   virtual void printon(ostream& out) {out << "[Domain Elt]";};
  11.   
  12. };
  13.  
  14. class Integer : public virtual DomainElt {
  15.  public:
  16.   void otheron(ostream& out) {out << "Other [Integer]"; };
  17.   void otheron2(ostream& out) {out << "Other2 [Integer]"; };
  18.   
  19. };
  20.  
  21. class Integer2 : public virtual DomainElt {
  22.  public:
  23.   virtual void otheron(ostream& out) {out << "Other [Integer]"; };
  24.   void otheron2(ostream& out) {out << "Other2 [Integer]"; };
  25.   void otheron3(ostream& out) {out << "Other3 [Integer]"; };
  26.   void otheron4(ostream& out) {out << "Other4 [Integer]"; };
  27.   void otheron5(ostream& out) {out << "Other5 [Integer]"; };
  28.   void otheron6(ostream& out) {out << "Other6 [Integer]"; };
  29.   
  30. };
  31.  
  32. class Integer3 : public virtual Integer {
  33.  public:
  34.   void otheron(ostream& out) {out << "Other [Integer3]"; };
  35.   void otheron2(ostream& out) {out << "Other2 [Integer]"; };
  36.   
  37. };
  38.  
  39. class Integer4 : public virtual Integer {
  40.  public:
  41.   virtual void otheron(ostream& out) {out << "Other [Integer3]"; };
  42.   void otheron2(ostream& out) {out << "Other2 [Integer]"; };
  43.   
  44. };
  45.  
  46. class Vector: public virtual DomainElt {
  47.  public:
  48.   Vector *VectorRep() { return this; };
  49. };
  50.  
  51. main () {
  52.   DomainElt a;
  53.   Integer b;
  54.   Integer2 c;
  55.   Integer3 d;
  56.   Integer4 e;
  57.   Vector f;
  58.  
  59.   cout << "Domain Element size =  " << sizeof(a) << "\n";
  60.   cout << "Integer Element size =  " << sizeof(b) << "\n";
  61.   cout << "Integer2 Element size =  " << sizeof(c) << "\n";
  62.   cout << "Integer3 Element size =  " << sizeof(d) << "\n";
  63.   cout << "Integer4 Element size =  " << sizeof(e) << "\n";
  64.   cout << "Vector Element size =  " << sizeof(f) << "\n";
  65.  
  66.   return(0);
  67. };
  68.  
  69.  
  70.